home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Programming / jikes-1.02 / src / error.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-08-26  |  33.0 KB  |  642 lines

  1. // $Id: error.h,v 1.22 1999/08/26 15:34:07 shields Exp $
  2. //
  3. // This software is subject to the terms of the IBM Jikes Compiler
  4. // License Agreement available at the following URL:
  5. // http://www.ibm.com/research/jikes.
  6. // Copyright (C) 1996, 1998, International Business Machines Corporation
  7. // and others.  All Rights Reserved.
  8. // You must accept the terms of that agreement to use this software.
  9. //
  10. #ifndef error_INCLUDED
  11. #define error_INCLUDED
  12.  
  13. #include "config.h"
  14. #include "stream.h"
  15. #include "tuple.h"
  16.  
  17. class Control;
  18. class LexStream;
  19. class Ast_CompilationUnit;
  20. class SymbolSet;
  21. class Semantic;
  22.  
  23. class SemanticError
  24. {
  25. public:
  26.     enum SemanticErrorKind
  27.     {
  28.         BAD_ERROR,
  29.         DEFAULT_ERROR,
  30.  
  31.         INVALID_OPTION,
  32.         INVALID_K_OPTION,
  33.         INVALID_K_TARGET,
  34.         INVALID_TAB_VALUE,
  35.         INVALID_DIRECTORY,
  36.         UNSUPPORTED_OPTION,
  37.  
  38.         NO_CURRENT_DIRECTORY,
  39.         CANNOT_OPEN_ZIP_FILE,
  40.         CANNOT_OPEN_PATH_DIRECTORY,
  41.         PACKAGE_NOT_FOUND,
  42.         CANNOT_OPEN_DIRECTORY,
  43.         BAD_INPUT_FILE,
  44.         UNREADABLE_INPUT_FILE,
  45.         NON_STANDARD_LIBRARY_TYPE,
  46.         LIBRARY_METHOD_NOT_FOUND,
  47.         CANNOT_REOPEN_FILE,
  48.         CANNOT_WRITE_FILE,
  49.         CONSTANT_POOL_OVERFLOW,
  50.         INTERFACES_OVERFLOW,
  51.         METHODS_OVERFLOW,
  52.         STRING_OVERFLOW,
  53.         PARAMETER_OVERFLOW,
  54.         ARRAY_OVERFLOW,
  55.         FIELDS_OVERFLOW,
  56.         LOCAL_VARIABLES_OVERFLOW,
  57.         STACK_OVERFLOW,
  58.         CODE_OVERFLOW,
  59.         CANNOT_COMPUTE_COLUMNS,
  60.         EMPTY_DECLARATION,
  61.         REDUNDANT_ABSTRACT,
  62.         REDUNDANT_FINAL,
  63.         REDUNDANT_PUBLIC,
  64.         REDUNDANT_STATIC,
  65.         OBSOLESCENT_ABSTRACT,
  66.         OBSOLESCENT_BRACKETS,
  67.         NO_TYPES,
  68.         MULTIPLE_PUBLIC_TYPES,
  69.         TYPE_IN_MULTIPLE_FILES,
  70.         PACKAGE_TYPE_CONFLICT,
  71.         DIRECTORY_FILE_CONFLICT,
  72.         FILE_FILE_CONFLICT,
  73.         MISMATCHED_TYPE_AND_FILE_NAMES,
  74.         REFERENCE_TO_TYPE_IN_MISMATCHED_FILE,
  75.         DUPLICATE_INNER_TYPE_NAME,
  76.         DUPLICATE_TYPE_DECLARATION,
  77.         UNNECESSARY_TYPE_IMPORT,
  78.         DUPLICATE_ACCESS_MODIFIER,
  79.         DUPLICATE_MODIFIER,
  80.         FINAL_ABSTRACT_CLASS,
  81.         VOLATILE_FINAL,
  82.         FINAL_VOLATILE,
  83.         INVALID_TOP_LEVEL_CLASS_MODIFIER,
  84.         INVALID_INNER_CLASS_MODIFIER,
  85.         INVALID_STATIC_INNER_CLASS_MODIFIER,
  86.         INVALID_LOCAL_CLASS_MODIFIER,
  87.         INVALID_INTERFACE_MODIFIER,
  88.         INVALID_FIELD_MODIFIER,
  89.         INVALID_LOCAL_MODIFIER,
  90.         INVALID_METHOD_MODIFIER,
  91.         INVALID_SIGNATURE_MODIFIER,
  92.         INVALID_CONSTRUCTOR_MODIFIER,
  93.         INVALID_CONSTANT_MODIFIER,
  94.         UNINITIALIZED_FIELD,
  95.         PARENT_TYPE_IN_UNNAMED_PACKAGE,
  96.         RECOMPILATION,
  97.         TYPE_NOT_FOUND,
  98.         DUPLICATE_ON_DEMAND_IMPORT,
  99.         NOT_A_TYPE,
  100.         NOT_A_CLASS,
  101.         NOT_AN_INTERFACE,
  102.         SUPER_IS_FINAL,
  103.         OBJECT_WITH_SUPER_TYPE,
  104.         OBJECT_HAS_NO_SUPER_TYPE,
  105.         DUPLICATE_FIELD,
  106.         DUPLICATE_METHOD,
  107.         DUPLICATE_CONSTRUCTOR,
  108.         MISMATCHED_INHERITED_METHOD,
  109.         MISMATCHED_INHERITED_METHOD_EXTERNALLY,
  110.         DUPLICATE_FORMAL_PARAMETER,
  111.         MISMATCHED_CONSTRUCTOR_NAME,
  112.         METHOD_WITH_CONSTRUCTOR_NAME,
  113.         DUPLICATE_LOCAL_VARIABLE_DECLARATION,
  114.         DUPLICATE_LOCAL_TYPE_DECLARATION,
  115.         MULTIPLE_DEFAULT_LABEL,
  116.         UNDECLARED_LABEL,
  117.         DUPLICATE_LABEL,
  118.         CATCH_PRIMITIVE_TYPE,
  119.         CATCH_ARRAY_TYPE,
  120.         AMBIGUOUS_FIELD,
  121.         AMBIGUOUS_TYPE,
  122.         FIELD_IS_TYPE,
  123.         FIELD_NOT_FOUND,
  124.         FIELD_NAME_MISSPELLED,
  125.         FIELD_WITH_PRIVATE_ACCESS_NOT_ACCESSIBLE,
  126.         FIELD_WITH_DEFAULT_ACCESS_NOT_ACCESSIBLE,
  127.         NAME_NOT_FOUND,
  128.         METHOD_NOT_FIELD,
  129.         NAME_NOT_YET_AVAILABLE,
  130.         NAME_NOT_VARIABLE,
  131.         NAME_NOT_CLASS_VARIABLE,
  132.         NOT_A_NUMERIC_VARIABLE,
  133.         METHOD_NOT_FOUND,
  134.         METHOD_NAME_NOT_FOUND_IN_TYPE,
  135.         METHOD_NAME_MISSPELLED,
  136.         METHOD_WITH_PRIVATE_ACCESS_NOT_ACCESSIBLE,
  137.         METHOD_WITH_DEFAULT_ACCESS_NOT_ACCESSIBLE,
  138.         HIDDEN_METHOD_IN_ENCLOSING_CLASS,
  139.         FIELD_NOT_METHOD,
  140.         TYPE_NOT_METHOD,
  141.         TYPE_NOT_FIELD,
  142.         METHOD_NOT_CLASS_METHOD,
  143.         AMBIGUOUS_CONSTRUCTOR_INVOCATION,
  144.         AMBIGUOUS_METHOD_INVOCATION,
  145.         CONSTRUCTOR_NOT_FOUND,
  146.         METHOD_FOUND_FOR_CONSTRUCTOR,
  147.         ABSTRACT_TYPE_CREATION,
  148.         INVALID_INSTANCEOF_CONVERSION,
  149.         INVALID_CAST_CONVERSION,
  150.         INVALID_CAST_TYPE,
  151.         INCOMPATIBLE_TYPE_FOR_INITIALIZATION,
  152.         INCOMPATIBLE_TYPE_FOR_ASSIGNMENT,
  153.         INCOMPATIBLE_TYPE_FOR_BINARY_EXPRESSION,
  154.         INCOMPATIBLE_TYPE_FOR_CONDITIONAL_EXPRESSION,
  155.         VOID_ARRAY,
  156.         VOID_TYPE_IN_EQUALITY_EXPRESSION,
  157.         TYPE_NOT_THROWABLE,
  158.         TYPE_NOT_PRIMITIVE,
  159.         TYPE_NOT_INTEGRAL,
  160.         TYPE_NOT_NUMERIC,
  161.         TYPE_NOT_INTEGER,
  162.         TYPE_NOT_BOOLEAN,
  163.         TYPE_NOT_ARRAY,
  164.         TYPE_NOT_REFERENCE,
  165.         TYPE_NOT_VALID_FOR_SWITCH,
  166.         TYPE_IS_VOID,
  167.         VALUE_NOT_REPRESENTABLE_IN_SWITCH_TYPE,
  168.         TYPE_NOT_CONVERTIBLE_TO_SWITCH_TYPE,
  169.         DUPLICATE_CASE_VALUE,
  170.         MISPLACED_THIS_EXPRESSION,
  171.         MISPLACED_SUPER_EXPRESSION,
  172.         TARGET_VARIABLE_IS_FINAL,
  173.         FINAL_VARIABLE_TARGET_IN_LOOP,
  174.         UNINITIALIZED_FINAL_VARIABLE,
  175.         UNINITIALIZED_STATIC_FINAL_VARIABLE,
  176.         UNINITIALIZED_FINAL_VARIABLE_IN_CONSTRUCTOR,
  177.         INIT_SCALAR_WITH_ARRAY,
  178.         INIT_ARRAY_WITH_SCALAR,
  179.         INVALID_BYTE_VALUE,
  180.         INVALID_SHORT_VALUE,
  181.         INVALID_CHARACTER_VALUE,
  182.         INVALID_INT_VALUE,
  183.         INVALID_LONG_VALUE,
  184.         INVALID_FLOAT_VALUE,
  185.         INVALID_DOUBLE_VALUE,
  186.         INVALID_STRING_VALUE,
  187.         RETURN_STATEMENT_IN_INITIALIZER,
  188.         MISPLACED_RETURN_WITH_EXPRESSION,
  189.         MISPLACED_RETURN_WITH_NO_EXPRESSION,
  190.         MISMATCHED_RETURN_AND_METHOD_TYPE,
  191.         EXPRESSION_NOT_THROWABLE,
  192.         BAD_THROWABLE_EXPRESSION_IN_TRY,
  193.         BAD_THROWABLE_EXPRESSION_IN_METHOD,
  194.         BAD_THROWABLE_EXPRESSION,
  195.         MISPLACED_BREAK_STATEMENT,
  196.         MISPLACED_CONTINUE_STATEMENT,
  197.         MISPLACED_EXPLICIT_CONSTRUCTOR_INVOCATION,
  198.         INVALID_CONTINUE_TARGET,
  199.         NON_ABSTRACT_TYPE_CONTAINS_ABSTRACT_METHOD,
  200.         NON_ABSTRACT_TYPE_INHERITS_ABSTRACT_METHOD,
  201.         NON_ABSTRACT_TYPE_INHERITS_ABSTRACT_METHOD_FROM_ABSTRACT_CLASS,
  202.         NON_ABSTRACT_TYPE_CANNOT_OVERRIDE_DEFAULT_ABSTRACT_METHOD,
  203.         NO_ABSTRACT_METHOD_IMPLEMENTATION,
  204.         DUPLICATE_INTERFACE,
  205.         UNKNOWN_QUALIFIED_NAME_BASE,
  206.         UNKNOWN_AMBIGUOUS_NAME,
  207.         CIRCULAR_INTERFACE,
  208.         CIRCULAR_CLASS,
  209.         TYPE_NOT_ACCESSIBLE,
  210.         PRIVATE_FIELD_NOT_ACCESSIBLE,
  211.         PROTECTED_FIELD_NOT_ACCESSIBLE,
  212.         DEFAULT_FIELD_NOT_ACCESSIBLE,
  213.         PRIVATE_METHOD_NOT_ACCESSIBLE,
  214.         PROTECTED_METHOD_NOT_ACCESSIBLE,
  215.         DEFAULT_METHOD_NOT_ACCESSIBLE,
  216.         PRIVATE_CONSTRUCTOR_NOT_ACCESSIBLE,
  217.         PROTECTED_CONSTRUCTOR_NOT_ACCESSIBLE,
  218.         DEFAULT_CONSTRUCTOR_NOT_ACCESSIBLE,
  219.         CONSTRUCTOR_DOES_NOT_THROW_THIS_EXCEPTION,
  220.         CONSTRUCTOR_DOES_NOT_THROW_SUPER_EXCEPTION,
  221.         PARAMETER_REDECLARED,
  222.         BAD_ABSTRACT_METHOD_MODIFIER,
  223.         ABSTRACT_METHOD_MODIFIER_CONFLICT,
  224.         ABSTRACT_METHOD_INVOCATION,
  225.         FINAL_METHOD_OVERRIDE,
  226.         FINAL_METHOD_OVERRIDE_EXTERNALLY,
  227.         PRIVATE_METHOD_OVERRIDE,
  228.         PRIVATE_METHOD_OVERRIDE_EXTERNALLY,
  229.         INSTANCE_METHOD_OVERRIDE,
  230.         INSTANCE_METHOD_OVERRIDE_EXTERNALLY,
  231.         CLASS_METHOD_OVERRIDE,
  232.         CLASS_METHOD_OVERRIDE_EXTERNALLY,
  233.         MISMATCHED_OVERRIDDEN_EXCEPTION,
  234.         MISMATCHED_OVERRIDDEN_EXCEPTION_EXTERNALLY,
  235.         ABSTRACT_METHOD_WITH_BODY,
  236.         NON_ABSTRACT_METHOD_WITHOUT_BODY,
  237.         BAD_ACCESS_METHOD_OVERRIDE,
  238.         BAD_ACCESS_METHOD_OVERRIDE_EXTERNALLY,
  239.         STATIC_OVERRIDE_ABSTRACT,
  240.         STATIC_OVERRIDE_ABSTRACT_EXTERNALLY,
  241.         CIRCULAR_THIS_CALL,
  242.         INSTANCE_VARIABLE_IN_EXPLICIT_CONSTRUCTOR_INVOCATION,
  243.         INSTANCE_METHOD_IN_EXPLICIT_CONSTRUCTOR_INVOCATION,
  244.         SYNTHETIC_VARIABLE_ACCESS,
  245.         SYNTHETIC_METHOD_INVOCATION,
  246.         SYNTHETIC_CONSTRUCTOR_INVOCATION,
  247.         THIS_IN_EXPLICIT_CONSTRUCTOR_INVOCATION,
  248.         SUPER_IN_EXPLICIT_CONSTRUCTOR_INVOCATION,
  249.         INNER_CONSTRUCTOR_IN_EXPLICIT_CONSTRUCTOR_INVOCATION,
  250.         EXPRESSION_NOT_CONSTANT,
  251.         UNCATCHABLE_METHOD_THROWN_CHECKED_EXCEPTION,
  252.         UNCATCHABLE_CONSTRUCTOR_THROWN_CHECKED_EXCEPTION,
  253.         UNREACHABLE_CATCH_CLAUSE,
  254.         UNREACHABLE_STATEMENT,
  255.         UNREACHABLE_STATEMENTS,
  256.         UNREACHABLE_CONSTRUCTOR_BODY,
  257.         BLOCKED_CATCH_CLAUSE,
  258.         VARIABLE_NOT_DEFINITELY_ASSIGNED,
  259.         TYPED_METHOD_WITH_NO_RETURN,
  260.  
  261.         DEFAULT_METHOD_NOT_OVERRIDDEN,
  262.  
  263.         ONE_UNNAMED_PACKAGE,
  264.         TYPE_NOT_IN_UNNAMED_PACKAGE,
  265.         TYPE_IN_WRONG_PACKAGE,
  266.         TYPE_NAME_MISMATCH,
  267.  
  268.         DEPRECATED_TYPE,
  269.         DEPRECATED_FIELD,
  270.         DEPRECATED_METHOD,
  271.         DEPRECATED_CONSTRUCTOR,
  272.  
  273.         COMPRESSED_ZIP_FILE,
  274.         INVALID_CLASS_FILE,
  275.         CANNOT_OPEN_CLASS_FILE,
  276.  
  277.         ONE_ONE_FEATURE,
  278.         STATIC_NOT_INNER_CLASS,
  279.         TYPE_NOT_INNER_CLASS,
  280.         SUPER_TYPE_NOT_INNER_CLASS,
  281.         STATIC_FIELD_IN_INNER_CLASS,
  282.         STATIC_METHOD_IN_INNER_CLASS,
  283.         STATIC_TYPE_IN_INNER_CLASS,
  284.         STATIC_INITIALIZER_IN_INNER_CLASS,
  285.         INNER_CLASS_REFERENCE_TO_NON_FINAL_LOCAL_VARIABLE,
  286.         STATIC_PROTECTED_FIELD_ACCESS,
  287.         STATIC_PROTECTED_METHOD_ACCESS,
  288.         INHERITANCE_AND_LEXICAL_SCOPING_CONFLICT_WITH_LOCAL,
  289.         INHERITANCE_AND_LEXICAL_SCOPING_CONFLICT_WITH_MEMBER,
  290.         ILLEGAL_THIS_FIELD_ACCESS,
  291.         CONSTRUCTOR_FOUND_IN_ANONYMOUS_CLASS,
  292.         ENCLOSING_INSTANCE_NOT_ACCESSIBLE,
  293.         INVALID_ENCLOSING_INSTANCE,
  294.  
  295.         ZERO_DIVIDE,
  296.         VOID_TO_STRING,
  297.  
  298.         _num_kinds
  299.     };
  300.  
  301.     static void StaticInitializer();
  302.  
  303.     void Report(SemanticErrorKind,
  304.                 LexStream::TokenIndex,
  305.                 LexStream::TokenIndex,
  306.                 wchar_t * = NULL,
  307.                 wchar_t * = NULL,
  308.                 wchar_t * = NULL,
  309.                 wchar_t * = NULL,
  310.                 wchar_t * = NULL,
  311.                 wchar_t * = NULL,
  312.                 wchar_t * = NULL,
  313.                 wchar_t * = NULL,
  314.                 wchar_t * = NULL);
  315.  
  316.     SemanticError(Control &, FileSymbol *);
  317.     ~SemanticError()
  318.     {
  319.         for (int i = 0; i < buffer.Length(); i++)
  320.             delete [] buffer[i];
  321.     }
  322.  
  323.     int num_errors,
  324.         num_warnings;
  325.  
  326.     void EnteringClone() { clone_count++; }
  327.     void ExitingClone()  { clone_count--; }
  328.  
  329.     int PrintMessages();
  330.  
  331. private:
  332.     friend class Semantic;
  333.  
  334.     Control &control;
  335.     LexStream *lex_stream;
  336.  
  337.     int clone_count;
  338.  
  339.     struct ErrorInfo
  340.     {
  341.         LexStream::TokenIndex left_token,
  342.                               right_token;
  343.         wchar_t *insert1,
  344.                 *insert2,
  345.                 *insert3,
  346.                 *insert4,
  347.                 *insert5,
  348.                 *insert6,
  349.                 *insert7,
  350.                 *insert8,
  351.                 *insert9;
  352.         unsigned num;
  353.         short    msg_code;
  354.         short    right_string_length;
  355.     };
  356.  
  357.     Tuple<wchar_t *> buffer;
  358.     Tuple<ErrorInfo> error;
  359.  
  360.     void PrintLargeSource(int);
  361.     void PrintSmallSource(int);
  362.  
  363.     void PrintEmacsMessage(int);
  364.  
  365.     static unsigned char warning[];
  366.     static void (*print_message[_num_kinds])(ErrorInfo &, LexStream *, Control &);
  367.  
  368.     static bool NotDot(wchar_t *str) { return (! (wcslen(str) == 0 || wcscmp(str, StringConstant::US__DO) == 0)); }
  369.  
  370.     static void PrintBAD_ERROR(ErrorInfo &, LexStream *, Control &);
  371.     static void PrintDEFAULT_ERROR(ErrorInfo &, LexStream *, Control &);
  372.     static void PrintINVALID_OPTION(ErrorInfo &, LexStream *, Control &);
  373.     static void PrintINVALID_K_OPTION(ErrorInfo &, LexStream *, Control &);
  374.     static void PrintINVALID_K_TARGET(ErrorInfo &, LexStream *, Control &);
  375.     static void PrintINVALID_TAB_VALUE(ErrorInfo &, LexStream *, Control &);
  376.     static void PrintINVALID_DIRECTORY(ErrorInfo &, LexStream *, Control &);
  377.     static void PrintUNSUPPORTED_OPTION(ErrorInfo &, LexStream *, Control &);
  378.     static void PrintNO_CURRENT_DIRECTORY(ErrorInfo &, LexStream *, Control &);
  379.     static void PrintCANNOT_OPEN_ZIP_FILE(ErrorInfo &, LexStream *, Control &);
  380.     static void PrintCANNOT_OPEN_PATH_DIRECTORY(ErrorInfo &, LexStream *, Control &);
  381.     static void PrintPACKAGE_NOT_FOUND(ErrorInfo &, LexStream *, Control &);
  382.     static void PrintCANNOT_OPEN_DIRECTORY(ErrorInfo &, LexStream *, Control &);
  383.     static void PrintBAD_INPUT_FILE(ErrorInfo &, LexStream *, Control &);
  384.     static void PrintUNREADABLE_INPUT_FILE(ErrorInfo &, LexStream *, Control &);
  385.     static void PrintNON_STANDARD_LIBRARY_TYPE(ErrorInfo &, LexStream *, Control &);
  386.     static void PrintLIBRARY_METHOD_NOT_FOUND(ErrorInfo &, LexStream *, Control &);
  387.     static void PrintCANNOT_REOPEN_FILE(ErrorInfo &, LexStream *, Control &);
  388.     static void PrintCANNOT_WRITE_FILE(ErrorInfo &, LexStream *, Control &);
  389.     static void PrintCONSTANT_POOL_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  390.     static void PrintINTERFACES_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  391.     static void PrintMETHODS_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  392.     static void PrintSTRING_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  393.     static void PrintPARAMETER_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  394.     static void PrintARRAY_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  395.     static void PrintFIELDS_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  396.     static void PrintLOCAL_VARIABLES_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  397.     static void PrintSTACK_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  398.     static void PrintCODE_OVERFLOW(ErrorInfo &, LexStream *, Control &);
  399.     static void PrintCANNOT_COMPUTE_COLUMNS(ErrorInfo &, LexStream *, Control &);
  400.  
  401.     static void PrintEMPTY_DECLARATION(ErrorInfo &, LexStream *, Control &);
  402.     static void PrintREDUNDANT_ABSTRACT(ErrorInfo &, LexStream *, Control &);
  403.     static void PrintREDUNDANT_FINAL(ErrorInfo &, LexStream *, Control &);
  404.     static void PrintREDUNDANT_PUBLIC(ErrorInfo &, LexStream *, Control &);
  405.     static void PrintREDUNDANT_STATIC(ErrorInfo &, LexStream *, Control &);
  406.     static void PrintOBSOLESCENT_ABSTRACT(ErrorInfo &, LexStream *, Control &);
  407.     static void PrintOBSOLESCENT_BRACKETS(ErrorInfo &, LexStream *, Control &);
  408.     static void PrintNO_TYPES(ErrorInfo &, LexStream *, Control &);
  409.     static void PrintMULTIPLE_PUBLIC_TYPES(ErrorInfo &, LexStream *, Control &);
  410.     static void PrintTYPE_IN_MULTIPLE_FILES(ErrorInfo &, LexStream *, Control &);
  411.     static void PrintPACKAGE_TYPE_CONFLICT(ErrorInfo &, LexStream *, Control &);
  412.     static void PrintDIRECTORY_FILE_CONFLICT(ErrorInfo &, LexStream *, Control &);
  413.     static void PrintFILE_FILE_CONFLICT(ErrorInfo &, LexStream *, Control &);
  414.     static void PrintMISMATCHED_TYPE_AND_FILE_NAMES(ErrorInfo &, LexStream *, Control &);
  415.     static void PrintREFERENCE_TO_TYPE_IN_MISMATCHED_FILE(ErrorInfo &, LexStream *, Control &);
  416.     static void PrintDUPLICATE_INNER_TYPE_NAME(ErrorInfo &, LexStream *, Control &);
  417.     static void PrintDUPLICATE_TYPE_DECLARATION(ErrorInfo &, LexStream *, Control &);
  418.     static void PrintUNNECESSARY_TYPE_IMPORT(ErrorInfo &, LexStream *, Control &);
  419.     static void PrintDUPLICATE_ACCESS_MODIFIER(ErrorInfo &, LexStream *, Control &);
  420.     static void PrintDUPLICATE_MODIFIER(ErrorInfo &, LexStream *, Control &);
  421.     static void PrintFINAL_ABSTRACT_CLASS(ErrorInfo &, LexStream *, Control &);
  422.     static void PrintVOLATILE_FINAL(ErrorInfo &, LexStream *, Control &);
  423.     static void PrintFINAL_VOLATILE(ErrorInfo &, LexStream *, Control &);
  424.     static void PrintINVALID_TOP_LEVEL_CLASS_MODIFIER(ErrorInfo &, LexStream *, Control &);
  425.     static void PrintINVALID_INNER_CLASS_MODIFIER(ErrorInfo &, LexStream *, Control &);
  426.     static void PrintINVALID_STATIC_INNER_CLASS_MODIFIER(ErrorInfo &, LexStream *, Control &);
  427.     static void PrintINVALID_LOCAL_CLASS_MODIFIER(ErrorInfo &, LexStream *, Control &);
  428.     static void PrintINVALID_INTERFACE_MODIFIER(ErrorInfo &, LexStream *, Control &);
  429.     static void PrintINVALID_FIELD_MODIFIER(ErrorInfo &, LexStream *, Control &);
  430.     static void PrintINVALID_LOCAL_MODIFIER(ErrorInfo &, LexStream *, Control &);
  431.     static void PrintINVALID_METHOD_MODIFIER(ErrorInfo &, LexStream *, Control &);
  432.     static void PrintINVALID_SIGNATURE_MODIFIER(ErrorInfo &, LexStream *, Control &);
  433.     static void PrintINVALID_CONSTRUCTOR_MODIFIER(ErrorInfo &, LexStream *, Control &);
  434.     static void PrintINVALID_CONSTANT_MODIFIER(ErrorInfo &, LexStream *, Control &);
  435.     static void PrintUNINITIALIZED_FIELD(ErrorInfo &, LexStream *, Control &);
  436.     static void PrintPARENT_TYPE_IN_UNNAMED_PACKAGE(ErrorInfo &, LexStream *, Control &);
  437.     static void PrintRECOMPILATION(ErrorInfo &, LexStream *, Control &);
  438.     static void PrintTYPE_NOT_FOUND(ErrorInfo &, LexStream *, Control &);
  439.     static void PrintDUPLICATE_ON_DEMAND_IMPORT(ErrorInfo &, LexStream *, Control &);
  440.     static void PrintNOT_A_TYPE(ErrorInfo &, LexStream *, Control &);
  441.     static void PrintNOT_A_CLASS(ErrorInfo &, LexStream *, Control &);
  442.     static void PrintNOT_AN_INTERFACE(ErrorInfo &, LexStream *, Control &);
  443.     static void PrintSUPER_IS_FINAL(ErrorInfo &, LexStream *, Control &);
  444.     static void PrintOBJECT_WITH_SUPER_TYPE(ErrorInfo &, LexStream *, Control &);
  445.     static void PrintOBJECT_HAS_NO_SUPER_TYPE(ErrorInfo &, LexStream *, Control &);
  446.     static void PrintDUPLICATE_FIELD(ErrorInfo &, LexStream *, Control &);
  447.     static void PrintDUPLICATE_METHOD(ErrorInfo &, LexStream *, Control &);
  448.     static void PrintDUPLICATE_CONSTRUCTOR(ErrorInfo &, LexStream *, Control &);
  449.     static void PrintMISMATCHED_INHERITED_METHOD(ErrorInfo &, LexStream *, Control &);
  450.     static void PrintMISMATCHED_INHERITED_METHOD_EXTERNALLY(ErrorInfo &, LexStream *, Control &);
  451.     static void PrintDUPLICATE_FORMAL_PARAMETER(ErrorInfo &, LexStream *, Control &);
  452.     static void PrintMISMATCHED_CONSTRUCTOR_NAME(ErrorInfo &, LexStream *, Control &);
  453.     static void PrintMETHOD_WITH_CONSTRUCTOR_NAME(ErrorInfo &, LexStream *, Control &);
  454.     static void PrintDUPLICATE_LOCAL_VARIABLE_DECLARATION(ErrorInfo &, LexStream *, Control &);
  455.     static void PrintDUPLICATE_LOCAL_TYPE_DECLARATION(ErrorInfo &, LexStream *, Control &);
  456.     static void PrintMULTIPLE_DEFAULT_LABEL(ErrorInfo &, LexStream *, Control &);
  457.     static void PrintUNDECLARED_LABEL(ErrorInfo &, LexStream *, Control &);
  458.     static void PrintDUPLICATE_LABEL(ErrorInfo &, LexStream *, Control &);
  459.     static void PrintCATCH_PRIMITIVE_TYPE(ErrorInfo &, LexStream *, Control &);
  460.     static void PrintCATCH_ARRAY_TYPE(ErrorInfo &, LexStream *, Control &);
  461.     static void PrintAMBIGUOUS_FIELD(ErrorInfo &, LexStream *, Control &);
  462.     static void PrintAMBIGUOUS_TYPE(ErrorInfo &, LexStream *, Control &);
  463.     static void PrintFIELD_IS_TYPE(ErrorInfo &, LexStream *, Control &);
  464.     static void PrintFIELD_NOT_FOUND(ErrorInfo &, LexStream *, Control &);
  465.     static void PrintFIELD_NAME_MISSPELLED(ErrorInfo &, LexStream *, Control &);
  466.     static void PrintFIELD_WITH_PRIVATE_ACCESS_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  467.     static void PrintFIELD_WITH_DEFAULT_ACCESS_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  468.     static void PrintNAME_NOT_FOUND(ErrorInfo &, LexStream *, Control &);
  469.     static void PrintMETHOD_NOT_FIELD(ErrorInfo &, LexStream *, Control &);
  470.     static void PrintNAME_NOT_YET_AVAILABLE(ErrorInfo &, LexStream *, Control &);
  471.     static void PrintNAME_NOT_VARIABLE(ErrorInfo &, LexStream *, Control &);
  472.     static void PrintNAME_NOT_CLASS_VARIABLE(ErrorInfo &, LexStream *, Control &);
  473.     static void PrintNOT_A_NUMERIC_VARIABLE(ErrorInfo &, LexStream *, Control &);
  474.     static void PrintMETHOD_NOT_FOUND(ErrorInfo &, LexStream *, Control &);
  475.     static void PrintMETHOD_NAME_NOT_FOUND_IN_TYPE(ErrorInfo &, LexStream *, Control &);
  476.     static void PrintMETHOD_NAME_MISSPELLED(ErrorInfo &, LexStream *, Control &);
  477.     static void PrintMETHOD_WITH_PRIVATE_ACCESS_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  478.     static void PrintMETHOD_WITH_DEFAULT_ACCESS_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  479.     static void PrintHIDDEN_METHOD_IN_ENCLOSING_CLASS(ErrorInfo &, LexStream *, Control &);
  480.     static void PrintFIELD_NOT_METHOD(ErrorInfo &, LexStream *, Control &);
  481.     static void PrintTYPE_NOT_METHOD(ErrorInfo &, LexStream *, Control &);
  482.     static void PrintTYPE_NOT_FIELD(ErrorInfo &, LexStream *, Control &);
  483.     static void PrintMETHOD_NOT_CLASS_METHOD(ErrorInfo &, LexStream *, Control &);
  484.     static void PrintAMBIGUOUS_CONSTRUCTOR_INVOCATION(ErrorInfo &, LexStream *, Control &);
  485.     static void PrintAMBIGUOUS_METHOD_INVOCATION(ErrorInfo &, LexStream *, Control &);
  486.     static void PrintCONSTRUCTOR_NOT_FOUND(ErrorInfo &, LexStream *, Control &);
  487.     static void PrintMETHOD_FOUND_FOR_CONSTRUCTOR(ErrorInfo &, LexStream *, Control &);
  488.     static void PrintABSTRACT_TYPE_CREATION(ErrorInfo &, LexStream *, Control &);
  489.     static void PrintINVALID_INSTANCEOF_CONVERSION(ErrorInfo &, LexStream *, Control &);
  490.     static void PrintINVALID_CAST_CONVERSION(ErrorInfo &, LexStream *, Control &);
  491.     static void PrintINVALID_CAST_TYPE(ErrorInfo &, LexStream *, Control &);
  492.     static void PrintINCOMPATIBLE_TYPE_FOR_INITIALIZATION(ErrorInfo &, LexStream *, Control &);
  493.     static void PrintINCOMPATIBLE_TYPE_FOR_ASSIGNMENT(ErrorInfo &, LexStream *, Control &);
  494.     static void PrintINCOMPATIBLE_TYPE_FOR_BINARY_EXPRESSION(ErrorInfo &, LexStream *, Control &);
  495.     static void PrintINCOMPATIBLE_TYPE_FOR_CONDITIONAL_EXPRESSION(ErrorInfo &, LexStream *, Control &);
  496.     static void PrintVOID_ARRAY(ErrorInfo &, LexStream *, Control &);
  497.     static void PrintVOID_TYPE_IN_EQUALITY_EXPRESSION(ErrorInfo &, LexStream *, Control &);
  498.     static void PrintTYPE_NOT_THROWABLE(ErrorInfo &, LexStream *, Control &);
  499.     static void PrintTYPE_NOT_PRIMITIVE(ErrorInfo &, LexStream *, Control &);
  500.     static void PrintTYPE_NOT_INTEGRAL(ErrorInfo &, LexStream *, Control &);
  501.     static void PrintTYPE_NOT_NUMERIC(ErrorInfo &, LexStream *, Control &);
  502.     static void PrintTYPE_NOT_INTEGER(ErrorInfo &, LexStream *, Control &);
  503.     static void PrintTYPE_NOT_BOOLEAN(ErrorInfo &, LexStream *, Control &);
  504.     static void PrintTYPE_NOT_ARRAY(ErrorInfo &, LexStream *, Control &);
  505.     static void PrintTYPE_NOT_REFERENCE(ErrorInfo &, LexStream *, Control &);
  506.     static void PrintTYPE_NOT_VALID_FOR_SWITCH(ErrorInfo &, LexStream *, Control &);
  507.     static void PrintTYPE_IS_VOID(ErrorInfo &, LexStream *, Control &);
  508.     static void PrintVALUE_NOT_REPRESENTABLE_IN_SWITCH_TYPE(ErrorInfo &, LexStream *, Control &);
  509.     static void PrintTYPE_NOT_CONVERTIBLE_TO_SWITCH_TYPE(ErrorInfo &, LexStream *, Control &);
  510.     static void PrintDUPLICATE_CASE_VALUE(ErrorInfo &, LexStream *, Control &);
  511.     static void PrintMISPLACED_THIS_EXPRESSION(ErrorInfo &, LexStream *, Control &);
  512.     static void PrintMISPLACED_SUPER_EXPRESSION(ErrorInfo &, LexStream *, Control &);
  513.     static void PrintTARGET_VARIABLE_IS_FINAL(ErrorInfo &, LexStream *, Control &);
  514.     static void PrintFINAL_VARIABLE_TARGET_IN_LOOP(ErrorInfo &, LexStream *, Control &);
  515.     static void PrintUNINITIALIZED_FINAL_VARIABLE(ErrorInfo &, LexStream *, Control &);
  516.     static void PrintUNINITIALIZED_STATIC_FINAL_VARIABLE(ErrorInfo &, LexStream *, Control &);
  517.     static void PrintUNINITIALIZED_FINAL_VARIABLE_IN_CONSTRUCTOR(ErrorInfo &, LexStream *, Control &);
  518.     static void PrintINIT_SCALAR_WITH_ARRAY(ErrorInfo &, LexStream *, Control &);
  519.     static void PrintINIT_ARRAY_WITH_SCALAR(ErrorInfo &, LexStream *, Control &);
  520.     static void PrintINVALID_BYTE_VALUE(ErrorInfo &, LexStream *, Control &);
  521.     static void PrintINVALID_SHORT_VALUE(ErrorInfo &, LexStream *, Control &);
  522.     static void PrintINVALID_CHARACTER_VALUE(ErrorInfo &, LexStream *, Control &);
  523.     static void PrintINVALID_INT_VALUE(ErrorInfo &, LexStream *, Control &);
  524.     static void PrintINVALID_LONG_VALUE(ErrorInfo &, LexStream *, Control &);
  525.     static void PrintINVALID_FLOAT_VALUE(ErrorInfo &, LexStream *, Control &);
  526.     static void PrintINVALID_DOUBLE_VALUE(ErrorInfo &, LexStream *, Control &);
  527.     static void PrintINVALID_STRING_VALUE(ErrorInfo &, LexStream *, Control &);
  528.     static void PrintRETURN_STATEMENT_IN_INITIALIZER(ErrorInfo &, LexStream *, Control &);
  529.     static void PrintMISPLACED_RETURN_WITH_EXPRESSION(ErrorInfo &, LexStream *, Control &);
  530.     static void PrintMISPLACED_RETURN_WITH_NO_EXPRESSION(ErrorInfo &, LexStream *, Control &);
  531.     static void PrintMISMATCHED_RETURN_AND_METHOD_TYPE(ErrorInfo &, LexStream *, Control &);
  532.     static void PrintEXPRESSION_NOT_THROWABLE(ErrorInfo &, LexStream *, Control &);
  533.     static void PrintBAD_THROWABLE_EXPRESSION_IN_TRY(ErrorInfo &, LexStream *, Control &);
  534.     static void PrintBAD_THROWABLE_EXPRESSION_IN_METHOD(ErrorInfo &, LexStream *, Control &);
  535.     static void PrintBAD_THROWABLE_EXPRESSION(ErrorInfo &, LexStream *, Control &);
  536.     static void PrintMISPLACED_BREAK_STATEMENT(ErrorInfo &, LexStream *, Control &);
  537.     static void PrintMISPLACED_CONTINUE_STATEMENT(ErrorInfo &, LexStream *, Control &);
  538.     static void PrintMISPLACED_EXPLICIT_CONSTRUCTOR_INVOCATION(ErrorInfo &, LexStream *, Control &);
  539.     static void PrintINVALID_CONTINUE_TARGET(ErrorInfo &, LexStream *, Control &);
  540.     static void PrintNON_ABSTRACT_TYPE_CONTAINS_ABSTRACT_METHOD(ErrorInfo &, LexStream *, Control &);
  541.     static void PrintNON_ABSTRACT_TYPE_INHERITS_ABSTRACT_METHOD(ErrorInfo &, LexStream *, Control &);
  542.     static void PrintNON_ABSTRACT_TYPE_INHERITS_ABSTRACT_METHOD_FROM_ABSTRACT_CLASS(ErrorInfo &, LexStream *, Control &);
  543.     static void PrintNON_ABSTRACT_TYPE_CANNOT_OVERRIDE_DEFAULT_ABSTRACT_METHOD(ErrorInfo &, LexStream *, Control &);
  544.     static void PrintNO_ABSTRACT_METHOD_IMPLEMENTATION(ErrorInfo &, LexStream *, Control &);
  545.     static void PrintDUPLICATE_INTERFACE(ErrorInfo &, LexStream *, Control &);
  546.     static void PrintUNKNOWN_QUALIFIED_NAME_BASE(ErrorInfo &, LexStream *, Control &);
  547.     static void PrintUNKNOWN_AMBIGUOUS_NAME(ErrorInfo &, LexStream *, Control &);
  548.     static void PrintCIRCULAR_INTERFACE(ErrorInfo &, LexStream *, Control &);
  549.     static void PrintCIRCULAR_CLASS(ErrorInfo &, LexStream *, Control &);
  550.     static void PrintTYPE_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  551.     static void PrintPRIVATE_FIELD_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  552.     static void PrintPROTECTED_FIELD_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  553.     static void PrintDEFAULT_FIELD_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  554.     static void PrintPRIVATE_METHOD_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  555.     static void PrintPROTECTED_METHOD_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  556.     static void PrintDEFAULT_METHOD_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  557.     static void PrintPRIVATE_CONSTRUCTOR_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  558.     static void PrintPROTECTED_CONSTRUCTOR_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  559.     static void PrintDEFAULT_CONSTRUCTOR_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  560.     static void PrintCONSTRUCTOR_DOES_NOT_THROW_THIS_EXCEPTION(ErrorInfo &, LexStream *, Control &);
  561.     static void PrintCONSTRUCTOR_DOES_NOT_THROW_SUPER_EXCEPTION(ErrorInfo &, LexStream *, Control &);
  562.     static void PrintPARAMETER_REDECLARED(ErrorInfo &, LexStream *, Control &);
  563.     static void PrintBAD_ABSTRACT_METHOD_MODIFIER(ErrorInfo &, LexStream *, Control &);
  564.     static void PrintABSTRACT_METHOD_MODIFIER_CONFLICT(ErrorInfo &, LexStream *, Control &);
  565.     static void PrintABSTRACT_METHOD_INVOCATION(ErrorInfo &, LexStream *, Control &);
  566.     static void PrintFINAL_METHOD_OVERRIDE(ErrorInfo &, LexStream *, Control &);
  567.     static void PrintFINAL_METHOD_OVERRIDE_EXTERNALLY(ErrorInfo &, LexStream *, Control &);
  568.     static void PrintPRIVATE_METHOD_OVERRIDE(ErrorInfo &, LexStream *, Control &);
  569.     static void PrintPRIVATE_METHOD_OVERRIDE_EXTERNALLY(ErrorInfo &, LexStream *, Control &);
  570.     static void PrintINSTANCE_METHOD_OVERRIDE(ErrorInfo &, LexStream *, Control &);
  571.     static void PrintINSTANCE_METHOD_OVERRIDE_EXTERNALLY(ErrorInfo &, LexStream *, Control &);
  572.     static void PrintCLASS_METHOD_OVERRIDE(ErrorInfo &, LexStream *, Control &);
  573.     static void PrintCLASS_METHOD_OVERRIDE_EXTERNALLY(ErrorInfo &, LexStream *, Control &);
  574.     static void PrintMISMATCHED_OVERRIDDEN_EXCEPTION(ErrorInfo &, LexStream *, Control &);
  575.     static void PrintMISMATCHED_OVERRIDDEN_EXCEPTION_EXTERNALLY(ErrorInfo &, LexStream *, Control &);
  576.     static void PrintABSTRACT_METHOD_WITH_BODY(ErrorInfo &, LexStream *, Control &);
  577.     static void PrintNON_ABSTRACT_METHOD_WITHOUT_BODY(ErrorInfo &, LexStream *, Control &);
  578.     static void PrintBAD_ACCESS_METHOD_OVERRIDE(ErrorInfo &, LexStream *, Control &);
  579.     static void PrintBAD_ACCESS_METHOD_OVERRIDE_EXTERNALLY(ErrorInfo &, LexStream *, Control &);
  580.     static void PrintSTATIC_OVERRIDE_ABSTRACT(ErrorInfo &, LexStream *, Control &);
  581.     static void PrintSTATIC_OVERRIDE_ABSTRACT_EXTERNALLY(ErrorInfo &, LexStream *, Control &);
  582.     static void PrintCIRCULAR_THIS_CALL(ErrorInfo &, LexStream *, Control &);
  583.     static void PrintINSTANCE_VARIABLE_IN_EXPLICIT_CONSTRUCTOR_INVOCATION(ErrorInfo &, LexStream *, Control &);
  584.     static void PrintINSTANCE_METHOD_IN_EXPLICIT_CONSTRUCTOR_INVOCATION(ErrorInfo &, LexStream *, Control &);
  585.     static void PrintSYNTHETIC_VARIABLE_ACCESS(ErrorInfo &, LexStream *, Control &);
  586.     static void PrintSYNTHETIC_METHOD_INVOCATION(ErrorInfo &, LexStream *, Control &);
  587.     static void PrintSYNTHETIC_CONSTRUCTOR_INVOCATION(ErrorInfo &, LexStream *, Control &);
  588.     static void PrintTHIS_IN_EXPLICIT_CONSTRUCTOR_INVOCATION(ErrorInfo &, LexStream *, Control &);
  589.     static void PrintSUPER_IN_EXPLICIT_CONSTRUCTOR_INVOCATION(ErrorInfo &, LexStream *, Control &);
  590.     static void PrintINNER_CONSTRUCTOR_IN_EXPLICIT_CONSTRUCTOR_INVOCATION(ErrorInfo &, LexStream *, Control &);
  591.     static void PrintEXPRESSION_NOT_CONSTANT(ErrorInfo &, LexStream *, Control &);
  592.     static void PrintUNCATCHABLE_METHOD_THROWN_CHECKED_EXCEPTION(ErrorInfo &, LexStream *, Control &);
  593.     static void PrintUNCATCHABLE_CONSTRUCTOR_THROWN_CHECKED_EXCEPTION(ErrorInfo &, LexStream *, Control &);
  594.     static void PrintUNREACHABLE_CATCH_CLAUSE(ErrorInfo &, LexStream *, Control &);
  595.     static void PrintUNREACHABLE_STATEMENT(ErrorInfo &, LexStream *, Control &);
  596.     static void PrintUNREACHABLE_STATEMENTS(ErrorInfo &, LexStream *, Control &);
  597.     static void PrintUNREACHABLE_CONSTRUCTOR_BODY(ErrorInfo &, LexStream *, Control &);
  598.     static void PrintBLOCKED_CATCH_CLAUSE(ErrorInfo &, LexStream *, Control &);
  599.     static void PrintVARIABLE_NOT_DEFINITELY_ASSIGNED(ErrorInfo &, LexStream *, Control &);
  600.     static void PrintTYPED_METHOD_WITH_NO_RETURN(ErrorInfo &, LexStream *, Control &);
  601.  
  602.     static void PrintDEFAULT_METHOD_NOT_OVERRIDDEN(ErrorInfo &, LexStream *, Control &);
  603.  
  604.     static void PrintONE_UNNAMED_PACKAGE(ErrorInfo &, LexStream *, Control &);
  605.     static void PrintTYPE_NOT_IN_UNNAMED_PACKAGE(ErrorInfo &, LexStream *, Control &);
  606.     static void PrintTYPE_IN_WRONG_PACKAGE(ErrorInfo &, LexStream *, Control &);
  607.     static void PrintTYPE_NAME_MISMATCH(ErrorInfo &, LexStream *, Control &);
  608.  
  609.     static void PrintDEPRECATED_TYPE(ErrorInfo &, LexStream *, Control &);
  610.     static void PrintDEPRECATED_FIELD(ErrorInfo &, LexStream *, Control &);
  611.     static void PrintDEPRECATED_METHOD(ErrorInfo &, LexStream *, Control &);
  612.     static void PrintDEPRECATED_CONSTRUCTOR(ErrorInfo &, LexStream *, Control &);
  613.  
  614.     static void PrintCOMPRESSED_ZIP_FILE(ErrorInfo &, LexStream *, Control &);
  615.     static void PrintINVALID_CLASS_FILE(ErrorInfo &, LexStream *, Control &);
  616.     static void PrintCANNOT_OPEN_CLASS_FILE(ErrorInfo &, LexStream *, Control &);
  617.  
  618.     static void PrintONE_ONE_FEATURE(ErrorInfo &, LexStream *, Control &);
  619.     static void PrintSTATIC_NOT_INNER_CLASS(ErrorInfo &, LexStream *, Control &);
  620.     static void PrintTYPE_NOT_INNER_CLASS(ErrorInfo &, LexStream *, Control &);
  621.     static void PrintSUPER_TYPE_NOT_INNER_CLASS(ErrorInfo &, LexStream *, Control &);
  622.     static void PrintSTATIC_FIELD_IN_INNER_CLASS(ErrorInfo &, LexStream *, Control &);
  623.     static void PrintSTATIC_METHOD_IN_INNER_CLASS(ErrorInfo &, LexStream *, Control &);
  624.     static void PrintSTATIC_TYPE_IN_INNER_CLASS(ErrorInfo &, LexStream *, Control &);
  625.     static void PrintSTATIC_INITIALIZER_IN_INNER_CLASS(ErrorInfo &, LexStream *, Control &);
  626.     static void PrintINNER_CLASS_REFERENCE_TO_NON_FINAL_LOCAL_VARIABLE(ErrorInfo &, LexStream *, Control &);
  627.     static void PrintSTATIC_PROTECTED_FIELD_ACCESS(ErrorInfo &, LexStream *, Control &);
  628.     static void PrintSTATIC_PROTECTED_METHOD_ACCESS(ErrorInfo &, LexStream *, Control &);
  629.     static void PrintINHERITANCE_AND_LEXICAL_SCOPING_CONFLICT_WITH_LOCAL(ErrorInfo &, LexStream *, Control &);
  630.     static void PrintINHERITANCE_AND_LEXICAL_SCOPING_CONFLICT_WITH_MEMBER(ErrorInfo &, LexStream *, Control &);
  631.     static void PrintILLEGAL_THIS_FIELD_ACCESS(ErrorInfo &, LexStream *, Control &);
  632.     static void PrintCONSTRUCTOR_FOUND_IN_ANONYMOUS_CLASS(ErrorInfo &, LexStream *, Control &);
  633.     static void PrintENCLOSING_INSTANCE_NOT_ACCESSIBLE(ErrorInfo &, LexStream *, Control &);
  634.     static void PrintINVALID_ENCLOSING_INSTANCE(ErrorInfo &, LexStream *, Control &);
  635.     static void PrintZERO_DIVIDE(ErrorInfo &, LexStream *, Control &);
  636.     static void PrintVOID_TO_STRING(ErrorInfo &, LexStream *, Control &);
  637.  
  638.     void SortMessages();
  639. };
  640.  
  641. #endif
  642.